export interface ClientVO {
  /**
   * 主键
   */
  clientId: string | number;

  /**
   * 供货商ID
   */
  supplierId: string | number;

  /**
   * 供货商名称
   */
  supplierName: string;

  /**
   * 项目编号
   */
  projectId: string | number;

  /**
   * 项目名称
   */
  projectName: string;

  /**
   * 设备编号
   */
  deviceId: string | number;

  /**
   * 客户端名
   */
  clientName: string;

  /**
   * 设备SN码
   */
  sn: string;

  /**
   * 绑定设备的型号ID
   */
  modelId: string | number;

  /**
   * 绑定设备的类型编号
   */
  category: string;

  /**
   * 绑定设备的类型名称
   */
  categoryName: string;

  /**
   * 监控设备的品牌
   */
  brandName: string;

  /**
   * 监控设备的型号
   */
  modelName: string;

  /**
   * 绑定设备的代号
   */
  code: string;

  /**
   * 绑定设备的配置
   */
  config: string;

  /**
   * mqtt用户ID
   */
  mqttUserId: string | number;

  /**
   * PostGIS几何点
   */
  location: string;

  /**
   * 经度（备份）
   */
  longitude: number;

  /**
   * 纬度（备份）
   */
  latitude: number;

  /**
   * 位置来源：GPS/BASE_STATION/MANUAL
   */
  locationSource: string;

  /**
   * 定位精度（厘米）
   */
  locationAccuracy: number;

  /**
   * 最后定位时间
   */
  lastLocationTime: string;

  /**
   * 详细地址
   */
  address: string;

  /**
   * 是否在线
   */
  isOnline: boolean;

  /**
   * 是否绑定
   */
  isActive: boolean;

  /**
   * 解绑时间
   */
  unboundTime: string;
}

export interface ClientForm extends BaseEntity {
  /**
   * 主键
   */
  clientId?: string | number;

  /**
   * 供货商ID
   */
  supplierId?: string | number;

  /**
   * 供货商名称
   */
  supplierName?: string;

  /**
   * 项目编号
   */
  projectId?: string | number;

  /**
   * 项目名称
   */
  projectName?: string;

  /**
   * 设备编号
   */
  deviceId?: string | number;

  /**
   * 客户端名
   */
  clientName?: string;

  /**
   * 设备SN码
   */
  sn?: string;

  /**
   * 绑定设备的型号ID
   */
  modelId?: string | number;

  /**
   * 绑定设备的类型编号
   */
  category?: string;

  /**
   * 绑定设备的类型名称
   */
  categoryName?: string;

  /**
   * 监控设备的品牌
   */
  brandName?: string;

  /**
   * 监控设备的型号
   */
  modelName?: string;

  /**
   * 绑定设备的代号
   */
  code?: string;

  /**
   * 绑定设备的配置
   */
  config?: Record<string, any> | null;

  /**
   * mqtt用户ID
   */
  mqttUserId?: string | number;

  /**
   * PostGIS几何点
   */
  location?: string;

  /**
   * 经度（备份）
   */
  longitude?: number;

  /**
   * 纬度（备份）
   */
  latitude?: number;

  /**
   * 位置来源：GPS/BASE_STATION/MANUAL
   */
  locationSource?: string;

  /**
   * 定位精度（厘米）
   */
  locationAccuracy?: number;

  /**
   * 最后定位时间
   */
  lastLocationTime?: string;

  /**
   * 详细地址
   */
  address?: string;

  /**
   * 是否在线
   */
  isOnline?: boolean;

  /**
   * 是否绑定
   */
  isActive?: boolean;

  /**
   * 解绑时间
   */
  unboundTime?: string;
}

export interface ClientQuery extends PageQuery {
  /**
   * 供货商ID
   */
  supplierId?: string | number;

  /**
   * 供货商名称
   */
  supplierName?: string;

  /**
   * 项目编号
   */
  projectId?: string | number;

  /**
   * 项目名称
   */
  projectName?: string;

  /**
   * 设备编号
   */
  deviceId?: string | number;

  /**
   * 客户端名
   */
  clientName?: string;

  /**
   * 设备SN码
   */
  sn?: string;

  /**
   * 绑定设备的型号ID
   */
  modelId?: string | number;

  /**
   * 绑定设备的类型编号
   */
  category?: string;

  /**
   * 绑定设备的类型名称
   */
  categoryName?: string;

  /**
   * 监控设备的品牌
   */
  brandName?: string;

  /**
   * 监控设备的型号
   */
  modelName?: string;

  /**
   * 绑定设备的代号
   */
  code?: string;

  /**
   * 绑定设备的配置
   */
  config?: string;

  /**
   * mqtt用户ID
   */
  mqttUserId?: string | number;

  /**
   * PostGIS几何点
   */
  location?: string;

  /**
   * 经度（备份）
   */
  longitude?: number;

  /**
   * 纬度（备份）
   */
  latitude?: number;

  /**
   * 位置来源：GPS/BASE_STATION/MANUAL
   */
  locationSource?: string;

  /**
   * 定位精度（厘米）
   */
  locationAccuracy?: number;

  /**
   * 最后定位时间
   */
  lastLocationTime?: string;

  /**
   * 详细地址
   */
  address?: string;

  /**
   * 是否在线
   */
  isOnline?: boolean;

  /**
   * 是否绑定
   */
  isActive?: boolean;

  /**
   * 解绑时间
   */
  unboundTime?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}
